The present invention relates generally to attitude or angular velocity or sensor alignment estimate adjustment for a vehicle, and more particularly, to algorithms involving attitude or angular velocity or sensor alignment determination, using star position measurements.
Satellites and other vehicles are in widespread use for various purposes including scientific research and communications. Many scientific and communications missions, however, cannot be accurately fulfilled without consistently monitoring and controlling the 3-axis attitude and angular velocity of the vehicle. Attitude may be described as the vehicle orientation with respect to some frame, for example, the Earth-Centered Inertial (ECI) frame. In many applications, the vehicle must be oriented to transmit signals in particular directions or to receive signals from specifically located sources. Furthermore, in such a situation, the vehicle angular velocity must be such so as to maintain the desired orientation, over time. Without accurate control over vehicle 3-axis attitude and angular velocity, the transmission or reception of such signals is hindered and at times impossible.
Such control requires systems for 3-axis attitude and angular velocity determination, which generally include one or more star trackers or star sensors, and a 3-axis gyroscope. During normal operation, star trackers or star sensors provide attitude-related information and the 3-axis gyroscope provides angular velocity information. As there are inherent, and time-varying, errors from star trackers, star sensors, and gyros, it is often necessary to constantly estimate such errors, in order to compensate for them. One common method of doing so is to correlate star tracker or sensor position measurements of stars with known positions of the same stars, as listed in a star catalog, or database. Discrepancies between the measured and predicted positions allow direct estimation of tracker error, and indirect estimation of gyro error. Knowing such errors allows estimation of attitude or angular velocity, or refinement of existing estimates. Furthermore, if there are multiple star trackers or star sensors on-board, such correlations allow determination of the alignment of such trackers or sensors, with respect to each other; such determination yields greater accuracy in future attitude and angular velocity estimates.
Upon initialization, procedures such as described above often require a method for obtaining a coarse estimate of attitude, where, for example, attitude is considered to be the orientation of the vehicle with respect to the ECI frame. Typically, this method includes two steps. The first step is to identify stars detected by one or more of the star trackers or star sensors as known stars from an astronomical database. A star catalog, which is an astronomical database or portion thereof, is used for this purpose. Each entry of the star catalog contains information about a particular star, such as the star's position in the ECI frame. Each entry is associated with a star catalog index, allowing a user to locate the entry. The second step of the method is to use the following to obtain the vehicle attitude: the knowledge of the stars' positions with respect to some frame, which is represented in the database; the knowledge of the stars' positions in the star tracker frame, which is output by the star tracker or star sensor; and the knowledge of the alignment of the star sensor or tracker with respect to the vehicle body.
A star pair database, also referred to as a pair database, or a pair catalog database, may be used to aid in the identification procedure of the first step of the method described above. The star pair database contains a reference table, and a star pair catalog, also referred to as a pair catalog. The reference table is to aid in accessing entries from the star pair catalog. Each entry of the star pair catalog represents a pair of stars, where each star in the pair is represented in the star catalog. All possible star pairs may not be represented; for such a design, there exist criteria to decide which star pairs are to be represented in the pair catalog. Such criteria may be based upon, for example, magnitude of stars in the pair, or angular separation between the stars forming the pair.
As will be recognized by those skilled in the art, the star pair database may be used in a multitude of ways to aid the identification procedure of the first step of the method described above. For example, in a situation where a vehicle of an unknown attitude includes a star tracker or star sensor which detects a pair of stars, separated by a measurable angular separation, a pair catalog can help in the identification process. (The method for determining angular separation from tracker or sensor measurements is described later in this application.) For use in such a situation, the pair catalog would be designed so that the entries would be ordered by separation angle, the angular separation between the stars forming the pair, as measured by the star sensor or star tracker on the vehicle. Should the detected star pair be a pair represented in the pair catalog, its representation would be in an easily determined section. This is because the detected star pair has an angular separation equal to the separation measured by interpretation of the star tracker or star sensor data, plus or minus instrument error. As instrument error is typically small, this reduces the number of possible matches between the detected star pair and the cataloged star pair from, for example, several thousand to perhaps a dozen or two. Other techniques may be used to determine which of the remaining pair catalog entries actually represents the detected pair.
Pair catalog databases typically reside within other coding, which makes them very complicated and lengthy. Debugging and maintenance are difficult and code reusability is low. Therefore, it would be desirable to simplify the data structure of the pair catalog database. It would be desirable to design the pair catalog database so as to facilitate access to the entries contained therein.